@echo off
setlocal

set BASE_DIR=D:\opt\mydata

echo 创建 Docker 挂载目录: %BASE_DIR%

if not exist "%BASE_DIR%" mkdir "%BASE_DIR%"

mkdir "%BASE_DIR%\mysql8\data"      2>nul
mkdir "%BASE_DIR%\mysql8\conf"      2>nul
mkdir "%BASE_DIR%\mysql8\init"      2>nul

mkdir "%BASE_DIR%\gitea\data"       2>nul

mkdir "%BASE_DIR%\postgresql\data"  2>nul

mkdir "%BASE_DIR%\redis"            2>nul
mkdir "%BASE_DIR%\redis\data"       2>nul

mkdir "%BASE_DIR%\kafka3\data"      2>nul
mkdir "%BASE_DIR%\kafka3\logs"      2>nul
mkdir "%BASE_DIR%\kafka3\secrets"   2>nul
mkdir "%BASE_DIR%\kafka3\config"    2>nul

mkdir "%BASE_DIR%\minio\data"       2>nul

echo 创建nginx目录
echo.
mkdir "%BASE_DIR%\nginx\html"       2>nul
mkdir "%BASE_DIR%\nginx\conf"       2>nul
mkdir "%BASE_DIR%\nginx\conf.d"     2>nul
mkdir "%BASE_DIR%\nginx\log"        2>nul

REM 复制 nginx 配置文件（如果存在）
REM 参数说明:
REM /E - 复制所有子目录（包括空目录）
REM /I - 如果目标不存在且正在复制多个文件，则假定目标是目录
REM /H - 复制隐藏和系统文件
REM /Y - 禁止提示确认覆盖现有文件 使用 /D 参数（仅在源文件比目标文件新时才复制）
if exist "nginx\conf" (
    echo 发现 nginx\conf 目录，正在复制到 %BASE_DIR%\nginx\conf
    xcopy "nginx\conf" "%BASE_DIR%\nginx\conf" /E /I /H /D >nul
    echo nginx 配置文件复制完成
    echo.
) else (
    echo 未找到 nginx\conf 目录，跳过复制
)

REM 复制 nginx 配置文件（如果存在）
if exist "nginx\conf.d" (
    echo 发现 nginx\conf.d 目录，正在复制到 %BASE_DIR%\nginx\conf.d
    xcopy "nginx\conf.d" "%BASE_DIR%\nginx\conf.d" /E /I /H /D >nul
    echo nginx 配置文件复制完成
    echo.
) else (
    echo 未找到 nginx\conf.d 目录，跳过复制
)


mkdir "%BASE_DIR%\imgproxy"         2>nul

echo.
echo 🎉 所有目录创建完成！
pause
